Method and system for integrating content and services among multiple networks

ABSTRACT

A method and system that enables aggregation and management of services and contents on multiple networks, is provided. In one implementation, such a method and system functionally bridges a first network and a second network such that services and contents, no matter where they come from, can be delivered to a user on one or more devices in the second network. The services and contents in the first network are converted by certain applications to behave as if they exist in the second network, so that they can be accessed by one or more devices in the second network. Such a method and system enables applications to be easily developed and distributed over the Internet using popular Web browsers as the platform for application runtime environments.

RELATED APPLICATION

This application claims priority from U.S. Provisional Patent Application Ser. No. 60/780,105, filed on Mar. 7, 2006, incorporated herein by reference.

FIELD OF THE INVENTION

The present invention relates to managing contents and services among multiple networks.

BACKGROUND OF THE INVENTION

The Internet has provided new methods of delivering services and contents to users. For example, video on demand using plugin technology on browsers enables users to view live video of news programs, watch movies, etc., on a specific device in a local area network such as a home network. These technologies, however, do not allow Internet services and contents to be delivered to another device in the home network.

In addition, due to the current same origin security model, Internet services that are delivered to a Web browser in the specific device in a home network, cannot utilize services and contents in a home network. For example, Internet content, such as video, that is delivered to a PC browser in the home network cannot be played on a TV in that home network. Such shortcomings greatly hinder a user's ability to effectively utilize intelligent, networked home devices.

At the same time, homes are becoming increasingly networked and home devices have the capabilities to deliver services and contents to other home devices. However, current home networking technologies, such as universal plug and play (UPnP), are designed for in-home use only and cannot take advantage of services and contents on the Internet. Therefore, there is a disjoint between the services/contents in a home and services/contents on the Internet, and contents and services on the Internet can only be delivered to a specific device and cannot be utilized by other devices in a home network.

There is, therefore, a need for a method and system for integrating contents and services over the Internet and in a local area network, such as a home network.

BRIEF SUMMARY OF THE INVENTION

The present invention provides a method and system that enable integration (aggregation) and management of services and contents among multiple networks. In one implementation, such a method and system functionally bridges a first network and a second network such that services and contents, no matter where they come from, can be delivered to a user on one or more devices in the second network. In one example, this allows applications to be easily developed and distributed over the Internet using popular Web browsers as the platform for application runtime environments.

Integrating content on a first network with content on a second network, involves aggregating content on the second network with content on the first network by functionally bridging the first network and the second network, such that content on either network can be delivered to a user on one or more devices in the first network.

Applications are downloaded from a first network to control services and play contents on a second network. In one implementation, an application is downloaded from the first network and executed on the second network. The downloaded application can access content on the first network by interacting with another application running on the first network. The downloaded application can also access content on the second network using a bridge. A user can utilize the downloaded application to access content in both the first and second networks.

These and other features, aspects and advantages of the present invention will become understood with reference to the following description, appended claims and accompanying figures.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a functional block diagram of an example home network implementing an embodiment of the present invention.

FIG. 2 shows example architecture of integrating contents and services over the Internet and in the home network, according to the present invention.

FIG. 3 shows a flowchart of the steps of a process for enabling aggregation of services and contents from the Internet with those services and contents in a home network.

FIG. 4 shows another example architecture of integrating contents and services over the Internet and in a home network, according to another embodiment of the present invention.

FIG. 5 shows a flowchart of the steps of another process for enabling aggregation of services and contents from the Internet with those services and contents in a home network, according to another embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

The present invention provides a method and system for managing content among multiple networks by integration (i.e., aggregation) of services and contents among the networks. This involves bridging the networks such that services and contents, no matter where they come from, can be delivered to a user on one or more devices in a network. Such bridging includes converting the contents and services available on a first network to protocol dependent services and contents for the devices in a second network. As such, services and contents in one network are converted as if they exist in the other network, and can therefore be accessed on one or more devices (or any device) in either network.

In one example, services and contents on one network (e.g., the Internet) are integrated with the services and contents in another network, such as a local area network (e.g., a home network). This involves bridging the two networks by converting the contents and services available on the first network to protocol dependent services and contents for the devices in the second network. Applications are downloaded from the first network to control services and play contents on a second network. The downloaded applications can access content on the first network by interacting with another application (e.g., service) running on the first network. The downloaded applications can also access content on the second network. A user can utilize a downloaded application to access content in both the first and second networks.

Further, downloaded applications allow contents and services on the first network to be delivered to one or more devices (not just a specific device) in the second network to be utilized. For example, the user can stream a video/movie to a TV, as opposed to only a desktop PC, for better viewing.

As such, in one example, the present invention functionally bridges the Internet and a home network such that services and contents, no matter the source, can be delivered to a user on one or more devices in the home network. In addition, the present invention enables applications to be easily developed and distributed over the Internet using popular Web browsers as the platform for application runtime environments.

The Internet has become a popular delivery vehicle for services and contents to users. Advances in scripting and plugin technologies enable web servers to deliver dynamic, live audio/video content to desktops. Examples of such technologies include Asynchronous JavaScript and XML (AJAX), flash players, real players, etc. Coupling scripting and browser platform enables Internet applications to be distributed and run on many different devices and platforms without re-development and re-compilation of applications. Further, middleware technologies, such as UPnP, advocate the promise of networked home devices that can seamlessly work together to greatly simplify our daily lives.

FIG. 1 shows an example functional architecture of a network such as a home network 10 that implements integrating contents and services with another network, such as the Internet. The network 10 comprises devices 20 (providing content) and devices 30, a computer (PC) 21, an interface 40 that connects to the network 10 to another network 50 (e.g., an external network, the Internet, etc.). Though the logical devices 20 and 30 are shown separately, a single physical device can include one or more logical devices. The devices 20, 30 can comprise electronic devices including consumer electronic (CE) devices (e.g., TV, PVR, DVD player, CD player, DVR, PDA, etc.), appliances, etc. Services and contents from the Internet are transcoded into services and contents in the home network 10.

FIG. 2 shows a more detailed example of integrating contents and services of an Internet service provider (ISP) 100 in the Internet 50, with a home network 102 that is an example of the network 10 (FIG. 1). The Internet service provider (ISP) 100 provides both contents and services, wherein typical contents can be, e.g., video and audio clips, etc., and typical services can be, e.g., streaming services, purchase services, etc. The home network 102 includes a connected device 104 (e.g., PC 21), a media renderer device 106 (e.g., device 30 such as a TV), and a discovering device 108 (e.g., device 20) that is able to discover devices, services and contents in the network.

The devices 104, 106 and 108 are inter-connected via local network technologies, such as Ethernet, IEEE 802.11x, etc. The home network 102 connects to the Internet via e.g., WAN technologies, such as cable, DSL, etc.

The device 104 includes a Web browser 110 which includes a plugin 112 designed for home networking technologies (e.g., a UPnP plugin). A plugin comprises a program that is integrated into another application (e.g., a Web browser), and provides additional functionality that is not available in the application. For a Web browser, a plugin can comprise an add-on that allows the Web browser to properly process and present additional types of content. In one example, a plugin comprises a software program that merges with the Web browser software and allows the Web browser to properly process and present a wider range of content than originally intended. For example, the Flash plugin allows Web browsers to display Flash content.

The plugin 112 enables the services and contents from the ISP 100 to be transcoded into services and contents in the home network 102. The discovering device 108 discovers contents and services in the home network 102. The discovering device 108 further controls services on devices in the home network 102. For example, the discovering device 108 discovers the media renderer device 106 (e.g., TV, display monitor, PC, etc.) and controls the device 106 to render content using a URL of the content on the Internet (e.g., via ISP 100).

FIG. 3 shows a flowchart of the steps of a process 150 for enabling aggregation of services and contents from the ISP 100 with those services and contents in the home network 102 (FIG. 2), according to an embodiment of the present invention. The process 150 includes the steps of:

-   -   Step 151: A user uses the Web browser 110 on a device 104 to         browse the Internet 50, and navigates to a website of the ISP         100.     -   Step 152: The Web browser 110 downloads a web page from the         website on the ISP 100 to the device 104. The downloaded web         page contains the ISP's scripting functions, such as Javascript         functions. The scripting functions are part of the web page from         the website, and provide an interface between the ISP 100 and         the plugins 112 of the Web browser 110. Further, the scripting         functions fetch content from the ISP 100, and call the plugins         112 to transcode that content such that the content can be         discovered by a discovering device 108 (in this description, the         term “call” refers to a data/function call, command and/or         communication). In this example, the scripting function performs         one or more of steps (a)-(f) below:         -   a. instantiate a plugin 112 when the scripting function             creates a plugin object;         -   b. call back to the ISP 100 for available contents and             services, by executing Javascript functions when the plugin             112 asks for content/services;         -   c. call the plugin 112 to convert the contents and services             available from the ISP 100 to protocol dependent services             and contents for the devices in the home network 102;         -   d. receive calls from the plugin 112 for control commands             (e.g., searching the contents, streaming a video, etc.),             from the discovering device 108 in the home network 102             (described in step 155 and 156 further below);         -   e. periodically call back to the ISP 100 for contents and             services states changes, (e.g., using scripting asynchronous             call back functions, such as AJAX); and         -   f. download contents, such as photos, audios and videos             metadata from the ISP 100.     -   Step 153: The discovering device 108 discovers a media renderer         device 106, and discovers services and contents converted by the         plugin 112. The discovery process depends on a particular home         networking technology. For example, if the discovering device         108 and the media rendering device 106 are UPnP devices, and the         plugin 112 is a UPnP plugin, the discovery process uses UPnP         Simple Service Discovery Protocol (SSDP) to discover devices,         services and contents.     -   Step 154: Instead of playing the content discovered from the ISP         100 in step 152, on the browser 110 of device 104, the user         wishes to play the content on the media renderer 106.     -   Step 155: The discovering device 108 calls/commands the media         renderer 106 to stream content from the plugin 112 to the media         renderer 106 using the content address (e.g., URL) of the ISP.     -   Step 156: The media renderer 106 starts to stream the content         using the content URL and, for example, plays it on the media         renderer's screen.

In addition to the plugin 112, the browser 110 can include additional home network technology plugins. Each plugin selectively converts certain services and contents from the ISP 100 to protocol dependent services and contents suitable for one or more devices in the home network 102. For example, a UPnP plugin converts Internet services and contents into UPnP specific services and contents for UPnP-type devices in the home network 102. A Jini plugin converts the Internet services and contents into Jini specific services and contents for Jini-type devices in the home network 102. Multiple plugins allow a user to access Internet services and contents regardless of home networking technologies.

FIG. 4 shows another example architecture of integrating contents and services over the Internet and in the home network, according to the present invention. The architecture in FIG. 4 allows contents in a home network (or the Internet) to be presented (e.g., played) on a browser in the home network using Internet services. A home network 202 connects to the Internet via, e.g., WAN technologies, such as cable, DSL, etc. An ISP 200 on the Internet provides services including, e.g., streaming services, purchase services, etc. The home network 202 includes a device 204 (e.g., a desktop PC) implementing a Web browser 208 and a media server device 206. The home network can include other devices. The devices in the home network 202 are connected via local network technologies, such as Ethernet, IEEE 802.11x, etc.

The Web browser 208 which includes a plugin 210 configured to control devices in the home network 202 using a specific home networking technology (e.g., a UPnP control point plugin). The plugin 210 discovers devices, services and contents in the home network 202, and further, controls other devices in the home network 202. The Web browser 208 also includes a media rendering plugin 212, such as a UPnP media render, that can play media content.

FIG. 5 shows a flowchart of the steps of a process 300 for enabling integration/aggregation of services and contents from the ISP 200 with those services and contents in the home network 202 (FIG. 4). The process 300 includes the steps of:

-   -   Step 301: A user uses the Web browser 208 to browse the Internet         and navigates to the website of the ISP 200.     -   Step 302: The Web browser 208 downloads a web page from the ISP         200. The downloaded web page includes the ISP's scripting         functions, such as Javascript functions. The scripting functions         are configured to interact with and orchestrate devices,         services and content in a home network, for example, to play a         movie, to play an audio track, to print a photo, etc. In this         example, the scripting function performs one or more of steps         (a)-(e) below:         -   a. creating the plugin object 210 and the plugin object 212             by instantiating the plugins 210 and 212 in the Web browser             208;         -   b. calling the plugin 210 to discover devices, services and             contents in the home network 202 (e.g., as described in step             303 below);         -   c. calling the plugin 212 to control playing of media             content (e.g., as described in step 305 below);         -   d. receiving function calls from the plugin 210 for devices             and services status changes in the home network 202 as part             of the discovery process described in step 303 below; and         -   e. receiving function calls from the plugin 212 for media             playing status (state) changes as part of the discovery             process described in step 303 below.     -   Step 303: The plugin 210 discovers the device 206 using a home         networking technology function. For example, a UPnP plugin can         discover: (1) UPnP devices in the home network using UPnP         SSDP, (2) contents on the device 206 using content discovery         such as “Search” and/or “Browse” in the UPnP Content Directory         Service, etc.     -   Step 304: The user wishes to play content from the device 206 in         the Web browser 208 of the device 204.     -   Step 305: The media renderer plugin 212 starts to stream the         content from the device 206 using the location (e.g., the URL)         of the content, and plays it on the Web browser 208. The ISP 200         provides scripting functions, similar to applications, to         control and play content in the home network.

As discussed above, there can be multiple plugins in the Web browser 208, such that devices, services and contents can be utilized by the Web browser 208, regardless of their underlying networking technologies. As such, in one example, the present invention enables integration/aggregation of services and contents of a local network (e.g., a home network) with services and contents in an external network (e.g., Internet or other content/service source). Therefore, services and contents no matter where they reside (e.g., on the Internet, in another source, in the home network, etc.), are delivered to a user on one or more devices in the home network. This enables applications to be easily developed and distributed over the Internet using popular Web browsers as the platform for application runtime environments.

As is known to those skilled in the art, the aforementioned example architectures described above, according to the present invention, can be implemented in many ways, such as program instructions for execution by a processor, as logic circuits, as an application specific integrated circuit, as firmware, etc.

The present invention has been described in considerable detail with reference to certain preferred versions thereof; however, other versions are possible. Therefore, the spirit and scope of the appended claims should not be limited to the description of the preferred versions contained herein. 

1. A method of managing contents and services on multiple networks, comprising: providing a functional bridge between a first network and a second network; and aggregating selected contents and/or services on the second network with contents and/or services on the first network using the functional bridge, such that contents and/or services on either network can be delivered to a user on one or more devices in the first network.
 2. The method of claim 1 wherein: the step of providing a functional bridge includes downloading one or more bridging applications from the second network to the first network; and the step of aggregating includes executing the applications such that devices in the second network can utilize contents and/or services in the first network.
 3. The method of claim 2 wherein the first network comprises a home network including multiple interconnected devices, and the second network comprises the Internet including one or more ISPs.
 4. The method of claim 3 wherein: the applications include browser plugins; and the step of executing applications further includes the steps of: discovering devices, and their services and/or contents, in the home network using a discovery plugin in a browser of a first device in the home network; receiving the user's selection to utilize content and/or service from a discovered device; and providing the selected content and/or service to a plugin in the browser for the user.
 5. The method of claim 4 further comprising the steps of: navigating to a website on an ISP using the browser; such that downloading applications includes downloading a web page from the ISP to said first device, wherein the web page provides scripting functions that provide integration bridging functionality between the ISP and the home network devices.
 6. The method of claim 5 wherein the scripting functions provide one or more of integration bridging functions including: instantiating discovery and renderer plugins; communicating with a discovery plugin to discover devices, services and contents in the home network; communicating with a renderer plugin to control playing of a media content; receiving communication from a discovery plugin for device and service status changes in the home network; and receiving communication from a renderer plugin for media playing status.
 7. The method of claim 3 wherein the step of aggregating further includes the steps of: obtaining access to content on an ISP, and accessing the content on the ISP via a first device in the home network; using the bridging functions, selectively converting said content on the ISP to protocol dependent content suitable for the home network, whereby content on either network can be delivered to a user on one or more devices in the home network.
 8. The method of claim 7 further comprising the steps of: discovering the converted content in the home network; discovering one or more devices in the home network suitable for the converted content; and providing the converted content to one of said discovered devices selected by a user.
 9. The method of claim 8 wherein obtaining access to content on an ISP further includes utilizing a Web browser on said first device in the home network to navigate to content on the ISP.
 10. The method of claim 9 wherein converting said content on the ISP further includes the steps of providing a conversion plugin for the browser, and converting the ISP content using the conversion plugin.
 11. The method of claim 10 wherein accessing the content on the ISP further includes the steps of: navigating to a content website on the ISP using the browser, based on user request; and downloading a web page from the ISP to said first device, wherein the web page provides scripting functions that provide integration bridging functionality between the ISP and the conversion plugin.
 12. The method of claim 11 wherein the scripting functions provide one or more of integration bridging functions of: instantiating said conversion plugin; communicating with the ISP for available content; communicating with said plugin to convert the content available from the ISP to protocol dependent content for the home network; receiving communication from the plugin for control commands from devices in the home network; and communicating with the ISP for content change status.
 13. The method of claim 10 wherein providing the converted content further includes the steps of commanding one of said discovered devices selected by a user to stream the converted content from the plugin for use by the user.
 14. The method of claim 10 further comprising the step of providing multiple conversion plugins for the browser.
 15. The method of claim 14 wherein content further includes services.
 16. A system for managing content and services on multiple networks, comprising: a bridging function configured to provide a functional bridge between a first network and a second network; an aggregating module configured to aggregate selected contents and/or services on the second network with contents and/or services on the first network using the functional bridge, such that contents and/or services on either network can be delivered to a user on one or more devices in the first network.
 17. The system of claim 16 wherein: the bridging function includes one or more bridging applications downloaded from the second network to the first network; and the aggregating module is further configured to execute the applications such that devices in the second network can utilize contents and/or services in the first network.
 18. The system of claim 17 wherein the first network comprises a home network including multiple interconnected devices, and the second network comprises the Internet including one or more ISPs.
 19. The system of claim 18 wherein: the applications include browser plugins; and the aggregating module is further configured to execute the applications for: discovering devices, and their services and/or contents, in the home network using a discovery plugin in a browser of a first device in the home network; receiving the user's selection to utilize content and/or service from a discovered device; and providing the selected content and/or service to a plugin in the browser for the user.
 20. The system of claim 19 wherein based on the user's command, the browser navigates to a website on an ISP using the browser, and downloads a web page application from the ISP to said first device, wherein the web page application provides scripting functions that provide integration bridging functionality between the ISP and the home network devices.
 21. The system of claim 20 wherein the scripting functions provide one or more of integration bridging functions including: instantiating discovery and renderer plugins; communicating with a discovery plugin to discover devices, services and contents in the home network; communicating with a renderer plugin to control playing of a media content; receiving communication from a discovery plugin for device and service status changes in the home network; and receiving communication from a renderer plugin for media playing status.
 22. The system of claim 18 wherein the aggregation module is further configured to access the content on the ISP via a first device in the home network, and using the bridging functions, selectively convert said content on the ISP to protocol dependent content suitable for the home network, whereby content on either network can be delivered to a user on one or more devices in the home network.
 23. The system of claim 22 wherein the aggregating module is further configured to discover the converted content in the home network, discover one or more devices in the home network suitable for the converted content, and provide the converted content to one of said discovered devices selected by a user.
 24. The system of claim 23 wherein the aggregation module is further configured to utilize a Web browser on said first device in the home network to navigate to content on the ISP.
 25. The system of claim 24 wherein the integrating functions include a conversion plugin for the browser, for converting the ISP content using the conversion plugin.
 26. The system of claim 25 wherein the aggregation module is further configured to access the content on the ISP by navigating to a content website on the ISP using the browser, based on user request, and downloading a web page from the ISP to said first device, wherein the web page provides scripting functions that provide integration bridging functionality between the ISP and the conversion plugin.
 27. The system of claim 26 wherein the scripting functions provide one or more of integration bridging functions of: instantiating said conversion plugin; communicating with the ISP for available content; communicating with said plugin to convert the content available from the ISP to protocol dependent content for the home network; receiving communication from the plugin for control commands from devices in the home network; and communicating with the ISP for content change status.
 28. The system of claim 25 wherein the aggregation module is further configured to command one of said discovered devices selected by a user to stream the converted content from the plugin for use by the user.
 29. The system of claim 25 wherein the applications include multiple conversion plugins for the browser.
 30. The system of claim 29 wherein content further includes services. 